.\" bzflag
.\" Copyright (c) 1993-2016 Tim Riker
.\"
.\" This package is free software;  you can redistribute it and/or
.\" modify it under the terms of the license found in the file
.\" named COPYING that should have accompanied this file.
.\"
.\" THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\"
.TH "BZFLAG" "6" "@BUILD_DATE@" "@PACKAGE_STRING@" "BZFlag"
.SH "NAME"
BZFlag \- a tank battle game
.SH "SYNOPSIS"
.B bzflag
[\fB\-badwords \fIfilterfile\fR]
[\fB\-config \fIfilename\fR]
[\fB\-configdir \fIdirectoryname\fR]
[\fB\-d | \-debug\fR]
[\fB\-date \fImm/dd/yyyy\fR]
[\fB\-dir | \-directory \fIdirectory\fR]
[\fB\-e | \-echo\fR]
[\fB\-ea | \-echoAnsi\fR]
[\fB\-h | \-help | \-\-help\fR]
[\fB\-latitude \fIlatitude\fR]
[\fB\-list \fIlist\-server\-url\fR]
[\fB\-locale \fIlocale\fR]
[\fB\-longitude \fIlongitude\fR]
[\fB\-m | \-mute\fR]
[\fB\-motd \fIURL\fR]
[\fB\-multisample\fR]
[\fB\-nolist\fR]
[\fB\-nomotd\fR]
[\fB\-notime\fR]
[\fB\-solo \fInumber\-of\-robots\fR]
[\fB\-team \fR{\fIautomatic\fR | \fIred\fR | \fIgreen\fR | \fIblue\fR | \fIpurple\fR | \fIrogue\fR}]
[\fB\-time \fIhh:mm:ss\fR]
[\fB\-v | \-version | \-\-version\fR]
[\fB\-view \fR{\fInormal\fR | \fIstereo\fR | \fIstacked\fR | \fIthree\fR | \fIanaglyph\fR}]
[\fB\-window  \fIwidth\fR\fBx\fR\fIheight\fR[{\fB+\fR|\fB\-\fR}x{\fB+\fR|\fB\-\fR}y]]
[\fB\-zbuffer \fR{\fIon\fR | \fIoff\fR}]
[[\fIcallsign\fR[\fI:password\fR]\fI@\fR]\fIserver\fR[\fI:port\fR]]
.SH "DESCRIPTION"
.B BZFlag
is a 3D multi\-player tank battle game that allows users
to play against each other in a networked environment.
There are five teams:  red, green, blue, purple and rogue
(rogue tanks are black).  Destroying a player on another
team scores a win, while being destroyed or destroying a
teammate scores a loss.  Rogues have no teammates (not even
other rogues), so they cannot shoot teammates and they do
not have a team score.
.PP
There are three main styles of play:  capture\-the\-flag,
free\-for\-all, and rabbit\-hunt.  In capture\-the\-flag, each team (except rogues)
has a team base and each team with at least one player has a team
flag.  The object is to capture an enemy team's flag by bringing
it to your team's base.  This destroys every player on the captured
team, subtracts one from that team's score, and adds one to your
team's score.  In free\-for\-all, there are no team flags or team
bases.  The object is simply to get as high a score as possible.
In rabbit\-hunt, the lead player is chosen as the target for all
other players. When the rabbit (target) is destroyed, the live player
with the next highest score becomes the rabbit. The object is to
remain the rabbit for as long as possible. The rabbit is marked as
a white tank.
.SS Joining a Game
.PP
To get quickly started, select the "Join Game" menu in the BZFlag
client using the arrow keys on your keyboard.  Choose the "Select a
Server" link and pick one of the servers near the top of the menu.
This should take you back to the "Join Game" menu where you should
then provide a callsign.  Select the "Connect".  Within a few seconds
you should be on that server ready to play.
.PP
BZFlag includes a global registration system that allows players to
register a callsign that defines them uniquely on the BZFlag network.
Some servers require registration for all users, some require it to
obtain administrative abilities.  If you attempt to use a callsign
that is already registered, you may be denied access to a server.  See
https://forums.bzflag.org/ for details regarding callsign registration
and to check on available names.  Once registered, you will be able to
provide your password in the "Join Game" menu and have it used for
authentication.  You are encouraged to register your callsign.
.PP
There are generally public BZFlag servers running around the clock all
around the world, available over the Internet.  Similarly, private
servers can be set up for running local network games.  See the bzfs
manual page (bzfs.6) for details on starting a new server, public or
private.
.SS Options
.TP 15
\fB\-badwords\fI filterFile\fR
Specify a file containing bad words to be replaced with !@#$%^&*
characters when they appear in chat.
.TP
\fB\-d or \-debug\fR
Adds some diagnostic output. Can be specified multiple times to increase
verbosity.
.TP
\fB\-dir or \-directory\fI directory\fR
Looks for data files in \fIdirectory\fR first.  This defaults to a
directory named \fIdata\fR in the current directory.  If not found
there, the game looks for data files in the current directory, then
in the default installation location \fI@INSTALL_DATA_DIR@\fR.
.TP
.B \-config
Specify the configuration file to load. The name is relative to the
default configuration directory. This is usually only used by developers.
.TP
.B \-configdir
Specify the configuration directory to use. This will be the default config
directory used by this instance of the game. This is really only needed
if you can not use the default directory.
.TP
\fB\-date\fI mm/dd/yyyy\fR
Specifies the date for positioning celestial objects.  This option is
available only when \fBbzflag\fR is compiled with debugging enabled.
.TP
.B \-e, \-echo
Copies all message window output to the shell on *nux and OSX, to
stdout.txt on windows
.TP
.B \-ea, \-echoAnsi
Copies all message window output like \-echo preserving the ANSI
color coding on *nix, same as \-echo on windows.
.TP
.B \-h, \-help, \-\-help
Prints a concise list of the \fBbzflag\fR command line options.
.TP
\fB\-latitude\fI latitude\fR
Uses \fIlatitude\fR when computing celestial object positions.
.TP
\fB\-list\fI url\fR
Look for list servers using \fIurl\fR.  A built\-in url is
used by default (the same url is the default for \fBbzfs\fR).
If \fIurl\fR is \fIdefault\fR then the url is reset to the built\-in
url (the url is remembered across invocations of \fBbzflag\fR).
list servers keep a list of \fBbzfs\fR servers accessible
from the internet and are queried when using the Find Server menu.
.TP
\fB\-locale\fI locale\fR
Set the locale used to display messages, menus, hud alerts, etc.
.TP
\fB\-longitude \fIlongitude\fR
Uses \fIlongitude\fR when computing celestial object positions.
.TP
.B \-m, \-mute
Disables sound.
.TP
\fB\-motd \fIURL\fR
Specify an alternate URL for the message of the day displayed when
\fBbzflag\fR starts.  http://bzflag.org/motd.php is the default.
See \fB\-nomotd\fR.
.TP
.B \-multisample
Uses a multisample buffer for rendering.  If multisampling isn't
available then the application will terminate.
.TP
.B \-nolist
Disables list server querying.  See \fB\-list\fR.
.TP
.B \-nomotd
Disables queries for the message of the day when \fBbzflag\fR starts.
.TP
.B \-notime
Removes a previously set fixed time for celestial object positions.
See \fB\-time\fR.
.TP
\fB\-solo\fI number\-of\-robots\fR
When you join a game, you'll also cause \fInumber\-of\-robots\fR robots
to join too.  This is an experimental option and the robots are
extremely stupid players.  Robots are added to teams at random.
.TP
\fB\-team\fI team\-name\fR
Chooses the player's team.  If there are no team positions available
and the team\-name is set to be automatic, the player will try to
join as an observer.
.TP
\fB\-time \fIhh:mm:ss\fR
Specifies the local time used for positioning celestial objects, which will
remain fixed rather than move through the sky as the day advances.
Use \fB\-notime\fR to undo this setting.
.TP
.B \-v, \-version, \-\-version
Prints the version number of the executable.
.TP
\fB\-view \fR{\fInormal\fR | \fIstereo\fR | \fIstacked\fR | \fIthree\fR | \fIanaglyph\fR}
Chooses one of the possible display options.  \fINormal\fR will render a single
view to the entire screen.  \fIStereo\fR will try to allocate a stereo
(in\-a\-window) capable buffer and then draw a single view in stereo.  Your
system must support stereo\-in\-a\-window buffers.  \fIThree\fR will render the
front view to the upper right quadrant of the display, a left view to the lower
left quadrant, and a right view to the lower right quadrant.  This is intended
for systems capable of driving multiple monitors from various areas of the
display surface, yielding a wrap around view. \fIstacked\fR will render the two
right eye view on the upper half of the display and the left eye on the lower
half. \fIanaglyph\fR supports red\-cyan stereo viewing glasses. Note that
setting an unsupported view option will often lead to BZFlag not running
successfully. To correct this, run with \-view normal.
.TP
.B \-window\fI width\fBx\fIheight\fR
Runs the application in a window instead of full screen.
Specify the width and height of the window after the option.
.TP
\fB\-zbuffer\fR {\fIon\fR | \fIoff\fR}
When \fIoff\fR is chosen the game will not attempt to allocate a
depth (z) buffer and will use a different rendering technique for
hidden surface removal.  Some systems may be capable of using a
higher screen resolution if a depth buffer isn't allocated.
.TP
[\fIcallsign\fR[\fI:password\fR]\fI@\fR]\fIserver\fR[\fI:port\fR]
Specifies the callsign you want, and the host running the \fBbzfs\fR
server. Multiple independent games can be run on a single network, or
even on different ports on a single computer. Which server and port you
choose decides which game you enter.
The callsign and the port are optional. If you don't specify a port the
standard server port will be used, and if you don't specify a callsign the
callsign used for the previous game is used.  If that cannot be found
then \fBbzflag\fR will prompt for a callsign when joining a game.
.SS Controls
Tanks are controlled by moving the mouse within the large yellow box
in the main view.  When the mouse is inside the small yellow box,
the tank is motionless.  The large box is the limit of the tank's
speed.
.PP
Shots are fired by pressing the
.I R "left mouse button".
The type of shot fired depends on what flag the tank has.  Normal
shots last about 3.5 seconds.  Reloading also takes 3.5 seconds for
normal shots.
.PP
Pressing the
.I R "middle mouse button"
drops a flag.  Nothing will happen if the tank has no flag or is
not allowed to drop the flag for some reason (e.g. it's a bad flag).
Flags are picked up by driving over them.  A dropped flag gets
tossed straight up;  it falls to the ground in about 3 seconds.
.PP
Pressing the
.I R "right mouse button"
identifies the closest player centered in the view.  If your tank
has the guided missile super\-flag, this will also lock the missile
on target.  However, the target must be carefully centered for the
missile to lock.
.PP
When the server allows jumping or if the tank has the jumping flag,
the
.I R Tab
key jumps.  Tanks can jump onto buildings, however there is no
way to shoot downward (or upward) with a regular shot.  The guided
missile and the shock wave are two ways of destroying a tank
on or from a building.
.PP
The current radar range can be changed by pressing the
.I R 1,
.I R 2,
or
.I R 3
keys above the alphabetic keys for low, medium, and long range,
respectively.
The
.I R f
key toggles the flag help display, which describes the flag
in the tank's possession.  Displaying help does
.B not
pause the game.
.PP
The
.I R Pause
key pauses and resumes play.  When paused, the tank cannot be
destroyed nor can its shots destroy other players.  The reload
countdown is suspended and the radar and view are blanked when
paused.  A paused tank has a transparent black sphere surrounding
it.  Since a paused tank is invulnerable a player could cheat by
pausing just before being destroyed, so there's a brief delay before
the pause takes effect.  This delay is long enough to make pausing
effectively useless for cheating.  Pressing
.I R Pause
before the pause takes effect cancels the pause request.
.PP
The
.I R Delete
key initiates a self destruct sequence. You will see a countdown that
can be stopped by pressing
.I R Delete
once more. Otherwise, you tank will self destruct. This can be useful if
your tank gets stuck and there is no other tank around to shoot you.
.PP
The list of players and scores is displayed when your tank is
paused or dead.  Pressing the
.I R s
key toggles the score display when alive and not paused.
.PP
The
.I R b
key toggles binoculars, which gives a close up view of distant objects.
The
.I R 9
key toggles Otto, the automatic pilot, on and off.
.I R t
key toggles the frame rate display and the
.I R y
key toggle the frame time display. The time of day can be changed with the
.I R plus
and
.I R minus
keys, which advance and reverse the time by 5 minutes, respectively.
The time of day in the game is initialized to the system's clock.
In addition, the latitude and longitude are used to calculate the
positions of celestial objects.
.PP
The
.I R Esc
key shows the game menu.  Use the
.I R Enter
and arrow keys to navigate the menu and the
.I R Esc
key to return to the previous menu or hide the main menu.
The menus allow you to start a new server, join a game, leave a game
and enter another, change the rendering options, change the display
resolution, change the sound volume, remap the meanings of keys, browse
online help, and quit the game.
.PP
The display resolution is not always available for changing.  If it
is, use the
.I R t
key to test a selected resolution;  it will be loaded for a few
seconds and then the previous resolution restored.  Press the
.I R Enter
key to permanently select a new resolution. When you quit the game,
the resolution is restored to what it was before the game started.
.PP
Options are recorded between game sessions in the .bzf/<version>/config.cfg file
in the user's home directory.  This file has a simple name/value pair format.
This file is completely rewritten by the game after each session.
.PP
You can send typed messages to other players by pressing the
.I R m
or
.I R n
keys.  The
.I R m
key will send a message to your teammates only.  Rogue players cannot
send these messages.  The
.I R n
key will send a message to all the other players.  After pressing the
key, just type your message and press enter or Control\-D.  To cancel
a message, you can enter a blank message or press Delete, Escape, or
Control\-C.  Be careful with the Escape key;  pressing Escape once will
cancel the message, pressing it again will show the main menu.  Backspace
will delete the most recently typed character.  The Tab key doesn't add
a tab to the message but instead causes the tank to jump (as usual).
You can also send a direct message to a single player by pressing the
.I R ,
or
.I R .
keys. The
.I R ,
key will send your message to your 'nemesis', i.e. the last player who
killed you or was killed by you. The
.I R .
key will send a private message to another player. You can choose the
recipient by using the left and right arrow keys.
.I R o
toggles the quick\-admin interface. Use the arrow keys to select a
command, and then fill in the necessary parameters
.SS Scoring
An individual's score is the difference between that player's wins and
losses.  A win is scored for each enemy tank destroyed.  A loss is
scored for each teammate destroyed and for each time the player is
destroyed.  The score sheet displays each player's score and the number
of wins and losses.
.PP
A team's score is calculated differently depending on the game style.
In the capture\-the\-flag style, the team score is the number of enemy
flags captured minus the number of times the team's flag was captured.
Capturing your own flag (by taking it onto an enemy base) counts as a
loss.  In the free\-for\-all style, the team score is sum of the wins of
all the players on the team minus the sum of the losses of all the
players on the team. In the rabbit\-hunt style, scoring is similar to
free\-for\-all.
.PP
The score sheet also lists the number times you have destroyed or been
destroyed by each other player under the \fIKills\fR heading.  This
lets you compare your one\-on\-one performance against other players.
.SS Teleporters
The server can be configured to place teleporters in the game.
A teleporter is a tall black transparent object that instantaneously
moves any object (tanks and shots) passing through it to some other
teleporter.  The teleporter connections are fixed for the entire
game.  In the capture\-the\-flag style the connections are always
the same.  In the free\-for\-all style the connections are random and
reversible (going back through where you come out puts you back where
you started).
.PP
Each side of a teleporter teleports independently of the other
side.  However, it's possible for each side to go to the other.
This is a through\-teleporter and it's almost as if it weren't there.
It's also possible for a side to teleport to itself.  This is a
reverse\-teleporter.  Shooting at a reverse teleporter is likely
to be self\-destructive.  Shooting a laser at a reverse teleporter
is invariably fatal.
.SS Radar
The radar is displayed on the left side of the control panel.  It
provides a satellite view of the game.  Buildings and the outer wall
are light blue.  Team bases are outlined squares in the team colors.
Teleporters are short yellow lines.  Tanks are dots the in the tank's
team color, except for rogues which are yellow.  The size of a tank's
dot is a rough indication of the tank's altitude: higher tanks have
larger dots.  Flags are small crosses.  Team flags have the team color
while super\-flags are white.  Shots are small white dots (except laser
beams which are line segments and shock waves which are circles).
.PP
The tank always appears in the center of the radar and the radar
display rotates with the tank so that forward is always up.  There's
a small tick mark indicating forward.  The left and right extremes
of the current view are represented by a yellow V whose tip is at
the center of the radar.  North is indicated by the letter N.
.SS Heads Up Display
The heads\-up\-display, or HUD, has several displays.  First, there are
two boxes in the center of the view.  As explained above, these
delimit the ranges for the mouse.  These boxes are yellow when you
have no flag.  Otherwise they take the color of the flag you're
holding (white for superflags).
.PP
Above the larger box is a heading tape showing your current heading.
North is 0, east is 90, etc.  If jumping is allowed, an altitude tape
appears to the right of the larger box.
.PP
Small colored diamonds or arrows may appear on the heading tape.  An
arrow pointing left means that a particular flag is to your left, an
arrow pointing right means that the flag is to your right, and a
diamond indicates the heading to the flag by its position on the
heading tape.  In capture\-the\-flag mode a marker in your team's color
is always present, showing you the direction to your team's flag.  A
yellow marker shows the way to the antidote flag (when you have a bad
flag and antidote flags are enabled).
.PP
At the top of the HUD are several text readouts.  At the very top
on the left is your callsign and score, in your team's color.  At the
very top on the right is the name of the flag you're holding (or nothing
if you have no flag).  In the center at the top is your current status:
ready, dead, sealed, zoned, or reloading. If you have a bad flag and
shaking time is enabled and your status is ready, the status displays
how much time is left before the bad flag is shaken.  When reloading,
the time until you're reloaded is displayed.  A tank is sealed when it
has the oscillation overthruster flag and any part of the tank is inside
a building. A tank is zoned when it has the phantom zone flag and has
passed through a teleporter.  When there's a time limit on the game,
the time left in the game is displayed to the left of the status.
.SS Flags
Team flags are supplied by the server in the capture\-the\-flag
style game.  While at least one player is on a team, that team's
flag is in the game.  When captured, the flag is returned to
the team's base.  If the flag is dropped in a Bad Place, it is
moved to a safety position.  Bad Places are:  on top of a building
or on an enemy team base.  The flag can be dropped on a team base
only by a player from a third team;  for example, when a blue
player drops the red flag on the green base.
.PP
A team flag is captured when a tank takes an enemy flag onto its
base or when a tank takes its flag onto an enemy base (even if
there's no one playing on that team).  You must be on the ground
to capture a flag.
.PP
The server can be configured to supply a fixed or random set of
super\-flags.  These flags are white and come in many flavors.
However, you cannot tell what a super\-flag is until it's picked
up.  There are two broad categories of super\-flags:  good and bad.
Good super\-flags may be dropped and will remain for up to 4 possessions.
Bad super\-flags are sticky \-\- in general, they cannot be dropped.  The
server may provide a yellow antidote flag.  Driving over it will release
the bad flag.  The server may also allow a timeout and/or a number of wins
to shake the flag.  Scoring the required number of wins, surviving the
required amount of time or being destroyed will automatically drop the flag.
Bad flags disappear after the first possession.
.PP
Here is a brief description of each good superflag with the flag's code
in parentheses:
.TP 15
.B High Speed (V)
Boosts top speed by 50%.
.TP
.B Quick Turn (QT)
Boosts turn rate by 50%.
.TP
.B Agility (A)
Improves a tank's dodging capabilities.
.TP
.B Oscillation Overthruster (OO)
Let's the tank go through buildings.  You cannot back up in or into
a building, nor can you shoot while inside.
.TP
.B Rapid Fire (F)
Increases shot speed and decreases range and reload delay.
.TP
.B Machine Gun (MG)
Increases shot speed and dramatically decreases range and reload delay.
.TP
.B Guided Missile (GM)
Shots guide themselves when locked on.  The missile can be retargeted at
any time during its flight (with the right mouse button).  This allows
the player some control over the missile's steering.
.TP
.B Laser (L)
Shoots a laser, with effectively infinite speed and range.  Just point
and shoot.  The binoculars are handy for lining up distant targets.
The downside (you knew it was coming) is that the reload time is doubled.
.TP
.B Ricochet (R)
Shots reflect off walls.  It is exceptionally easy to kill yourself with
this flag.
.TP
.B Super Bullet (SB)
Shots can go through buildings (possibly destroying a tank with the
oscillation overthruster flag) and can also destroy (phantom) zoned
tanks.
.TP
.B Stealth (ST)
Tank becomes invisible on radar but is still visible out\-the\-window.
.TP
.B Cloaking (CL)
Tank becomes invisible out\-the\-window but is still visible on radar.
.TP
.B Invisible Bullet (IB)
Shots are invisible on radar (except your own).  They are visible
out\-the\-window.  Sort of stealth for shots.
.TP
.B Tiny (T)
Tank becomes much smaller and harder to hit.
.TP
.B Narrow (N)
Tank becomes paper thin.  It's very hard (but not impossible) to hit
a narrow tank from the front or back.  However, the tank is as
long as usual so hitting it from the side has normal difficulty.
.TP
.B Shield (SH)
Getting shot while in possession of this flag simply drops the flag
(instead of destroying the tank).  Since the flag may not disappear
you may want to wait around for it to fall to the ground so you can
grab it again, but, be warned, the shield flag flies for an extra
long time (longer than the normal reload time).
.TP
.B Steamroller (SR)
Tank can destroy other tanks by driving over them (but you must get
quite close).
.TP
.B Shock Wave (SW)
Tank doesn't fire shells.  Instead it sends out a shock wave in all
directions.  Any tank caught in the wave is destroyed (including
tanks on or in buildings).
.TP
.B Phantom Zone (PZ)
Driving through a teleporter phantom zones the tank.  A zoned tank
cannot shoot, but can drive through buildings and cannot be destroyed
except by a Super Bullet or a Shock Wave (or if the team's flag
is captured).
.TP
.B Genocide (G)
Destroying any tank on a team destroys every player on that team.
.TP
.B Jumping (JP)
Allows the tank to jump.  You cannot steer while in the air.
.TP
.B Identify (ID)
Displays the identity of the closest flag in the vicinity.
.TP
.B Masquerade (MQ)
You tank looks like a teammate when viewed out of the window.
Bullets, radar and targeting reveal your true identity.
.TP
.B Burrow {BU}
You tank burrows into the ground up to your muzzle, making you
impervious to normal shots, as they sail above you. However
your tank controls are sluggish, and anyone, no matter what flag
they have, can crush you like.
.TP
.B Seer (SE)
See Stealthed, Cloaked and Masqueraded tanks as normal, as well as Invisible Bullets.
.TP
.B Thief (TH)
Tank is small and fast, when you shoot an opponent, he is not killed,
but instead, you steal his flag.
.TP
.B Useless (US)
It's useless!
.TP
.B Wings (WG)
Tank can drive around in the air, and may be able to jump multiple times.
This can be useful when jumping
or falling.
.PP
A brief description of each bad superflag with the flag's code
in parentheses:
.TP 15
.B Colorblindness (CB)
Prevents tank from seeing any team information about other tanks.
You have to be careful to avoid shooting teammates.
.TP
.B Obesity (O)
The tank becomes very large and easy to hit.  It's so big that it
can't fit through teleporters.
.TP
.B Left Turn Only (<\-)
Prevents the tank from turning right.
.TP
.B Right Turn Only (\->)
Prevents the tank from turning left.
.TP
.B Forward Only (FO)
Prevents the tank from going backwards.
.TP
.B Reverse Only (RO)
Prevents the tank from going forward.
.TP
.B Momentum (M)
Gives the tank a lot of inertia.
.TP
.B Blindness (B)
Blanks the out\-the\-window view.  The radar still works.  It is
effectively impossible to detect any tank with Stealth;  shooting
a Stealth with Blindness is the stuff legends are made of.
.TP
.B Jamming (JM)
Disables the radar but you can still see.
.TP
.B Wide Angle (WA)
Gives the tank a fish eye lens that's rather disorienting.
.TP
.B No Jumping (NJ)
Tank is not allowed to jump.
.TP
.B Trigger Happy (TR)
Tank can't stop shooting.  Watch out for that ricochet.
.TP
.B Reverse Controls (RC)
Tank driving controls are reversed from their usual behavior.
.SS Observing
If a server is full or if you just want to watch a battle without interfering
in it, you can use the observer mode. To join a server as an observer, select
.I R Observer
as your tank's team. The maximum number of observers can be
restricted by the server admin, so you might still not be able to join a
full server.
.PP
When in observer mode, you can freely roam the world. Using the
arrow keys you can rotate the camera in every direction. Holding shift and
using the arrow keys moves the camera left, right, forward or back. Pressing
the up or down arrow while holding the
.I R ALT
key will change the camera's altitude. The
.I R F9
and
.I R F10
keys change the camera's focal lengths, giving a zoom effect. The
.I R F11
key will reset the zoom. Pressing
.I R l
lets you toggle the display of tank labels.
.PP
Repeatedly pressing
.I R F8
cycles through different roaming modes: \fIfree\fR, \fItracking\fR,
\fIfollowing\fR, \fIfirst person (driving with)\fR and \fItracking team flag\fR.
In \fItracking\fR mode, the camera will automatically look at a tank. You can cycle through
available tanks with the
.I R F6
and
.I R F7
keys. In \fIfollow\fR mode, the camera is positioned right behind the
targeted tank, whereas you actually look from within the tank when using
\fIfirst person\fR mode. The last mode, \fItrack team flag\fR is only available in capture\-the\-flag games and
will track the team flags. Again, use
.I R F6
and
.I R F7
to choose which flag to track. One special option that can be used with \fIfollow\fR, \fItracking\fR,
and \fIfirst person\fR modes is that you can choose to do it with the winning tank.
This is selected by cycling through the tanks until you see the \fRwinner\fR option. In this mode,
you will always be engaged with whoever has the best score (and is alive).
The default is \fIdrive with winner\fR mode.
.SH "User Commands"
The following commands can be executed by sending a message to all and using these strings as the message
.TP 15
/bind \fIkey\fR \fIpress\fR \fIaction\fR
Bind a \fIkey\fR press to an \fIaction\fR. \fIpress\fR can be \fBup\fR, \fBdown\fR or \fBboth\fR
.TP 15
/cmds
Show a list of all client and server commands
.TP 15
/debug [\fIlevel\fR]
Show or set the debug level to \fIlevel\fR
.TP 15
/diff
List all BZDB server variables that are not set to the default value
.TP 15
/dumpvars
Dump a list of all local variables and their values to the standard output
.TP 15
/forceradar
Force the radar to be displayed (only works for observers)
.TP 15
/highlight \fIpattern\fR
Highlight all messages containing \fIpattern\fR on the console
.TP 15
/localset \fIvariable\fR [\fIvalue\fR]
Read a local variable or set it to \fIvalue\fR
.TP 15
/quit
Exit the game
.TP 15
/retexture
Reload the textures of the game
.TP 15
/roampos {reset|send|\fIangle\fR|\fIx\fR \fIy\fR \fIz\fR [\fItheta\fR [\fIphi\fR [\fIzoom\fR]]]}
Manipulate the observer camera (only useful in Roaming and Tracking modes). Without arguments, it shows
a usage message and the current camera location. \fBreset\fR resets the camera's location to the center
of the map and \fBsend\fR sends information about the camera to the server. \fIangle\fR moves the camera
outside the map at a certain angle, looking towards its center. \fIx\fR, \fIy\fR and \fIz\fR
are used to set the camera's location, \fItheta\fR defines the camera's horizontal angle, \fIphi\fR defines
its vertical angle and \fIzoom\fR sets the camera's zoom level. All angles are defined in degrees.
.TP 15
/savemsgs [-s] [-t]
Save all messages to a file in your config directory. If \fB-s\fR is provided, coloring data are stripped.
If \fB-t\fR is provided, timestamps are added to the messages.
.TP 15
/saveworld [-g] [-m] [-o] \fIfilename\fR
Save the current world to \fIfilename\fR. Specify \fB-g\fR to prevent the creation of groups, \fB-m\fR to
save some primitives as meshes and \fB-o\fR to create a WaveFront OBJ file instead of a BZW one.
.TP 15
/silence \fIplayerName\fR
Do not display any message coming from player with \fIplayerName\fR name
.TP 15
/unsilence \fIplayerName\fR
Reshow messages coming from player with \fIplayerName\fR name
.SH "FILES"
.TP 15
~/.bzf/<version>/config.cfg
Stores options between game sessions.
.SH "SEE ALSO"
bzadmin(6), bzfs(6), bzw(5)
